package com.learn.core.domain.view;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import com.learn.common.annotation.Excel;
import com.learn.common.annotation.Excels;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * @auther CodeGenerator
 * @create 2021-03-14 11:20:58
 * @describe VIEW实体类
 */
@TableName("user_details_gather")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value="UserDetailsGather对象", description="VIEW")
public class UserDetailsGather implements Serializable {

    private static final long serialVersionUID = 1L;


    @TableField("user_id")
    private Integer userId;

    @Excel(name = "账号")
    @ApiModelProperty(value = "用户名")
    @TableField("user_name")
    private String userName;

    @ApiModelProperty(value = "最后登录时间")
    @TableField("last_time")
    private Date lastTime;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @Excel(name = "手机号码")
    @ApiModelProperty(value = "手机号")
    @TableField("mobile")
    private String mobile;

    @Excel(name = "电子邮箱")
    @ApiModelProperty(value = "电子邮件")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "详情id")
    @TableField("details_id")
    private Integer detailsId;

    @Excel(name = "用户状态",readConverterExp = "1=启用,0=禁用")
    @ApiModelProperty(value = "用户状态")
    @TableField("stutes")
    private String stutes;

    @Excel(name = "姓名")
    @ApiModelProperty(value = "姓名")
    @TableField("name")
    private String name;

    @Excel(name = "性别",readConverterExp = "1=男,2=女")
    @ApiModelProperty(value = "性别")
    @TableField("sex")
    private String sex;

    @Excel(name = "身份证号码")
    @ApiModelProperty(value = "身份证")
    @TableField("card_id")
    private String cardId;

    @Excel(name = "出生日期",dateFormat="yyyy-MM-dd")
    @ApiModelProperty(value = "出生日期")
    @TableField("birth_time")
    private Date birthTime;

    @Excel(name = "入职日期",dateFormat="yyyy-MM-dd")
    @ApiModelProperty(value = "入职日期")
    @TableField("entry_time")
    private Date entryTime;

    @ApiModelProperty(value = "机构id")
    @TableField("organization_id")
    private Integer organizationId;

    @Excel(name = "所属机构")
    @TableField(exist = false)
    private String organizationName;

    @Excel(name = "民族")
    @ApiModelProperty(value = "民族")
    @TableField("nation")
    private String nation;

    @Excel(name = "最高学历")
    @ApiModelProperty(value = "学历")
    @TableField("education_id")
    private Integer educationId;

    @TableField(exist = false)
    private String password;

    @ApiModelProperty(value = "角色")
    @TableField("role_id")
    private Integer roleId;

    @ApiModelProperty(value = "头像")
    @TableField("user_cover")
    private String userCover;

    @TableField(exist = false)
    private String roleName;

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public Integer getRoleId() {
        return roleId;
    }

    public void setRoleId(Integer roleId) {
        this.roleId = roleId;
    }

    public String getUserCover() {
        return userCover;
    }

    public void setUserCover(String userCover) {
        this.userCover = userCover;
    }

    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getUserId() {
        return userId;
    }

    public UserDetailsGather setUserId(Integer userId) {
        this.userId = userId;
        return this;
    }

    public String getUserName() {
        return userName;
    }

    public UserDetailsGather setUserName(String userName) {
        this.userName = userName;
        return this;
    }

    public Date getLastTime() {
        return lastTime;
    }

    public UserDetailsGather setLastTime(Date lastTime) {
        this.lastTime = lastTime;
        return this;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public UserDetailsGather setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public String getMobile() {
        return mobile;
    }

    public UserDetailsGather setMobile(String mobile) {
        this.mobile = mobile;
        return this;
    }

    public String getEmail() {
        return email;
    }

    public UserDetailsGather setEmail(String email) {
        this.email = email;
        return this;
    }

    public Integer getDetailsId() {
        return detailsId;
    }

    public UserDetailsGather setDetailsId(Integer detailsId) {
        this.detailsId = detailsId;
        return this;
    }

    public String getStutes() {
        return stutes;
    }

    public UserDetailsGather setStutes(String stutes) {
        this.stutes = stutes;
        return this;
    }

    public String getName() {
        return name;
    }

    public UserDetailsGather setName(String name) {
        this.name = name;
        return this;
    }

    public String getSex() {
        return sex;
    }

    public UserDetailsGather setSex(String sex) {
        this.sex = sex;
        return this;
    }

    public String getCardId() {
        return cardId;
    }

    public UserDetailsGather setCardId(String cardId) {
        this.cardId = cardId;
        return this;
    }

    public Date getBirthTime() {
        return birthTime;
    }

    public UserDetailsGather setBirthTime(Date birthTime) {
        this.birthTime = birthTime;
        return this;
    }

    public Date getEntryTime() {
        return entryTime;
    }

    public UserDetailsGather setEntryTime(Date entryTime) {
        this.entryTime = entryTime;
        return this;
    }

    public Integer getOrganizationId() {
        return organizationId;
    }

    public UserDetailsGather setOrganizationId(Integer organizationId) {
        this.organizationId = organizationId;
        return this;
    }

    public String getNation() {
        return nation;
    }

    public UserDetailsGather setNation(String nation) {
        this.nation = nation;
        return this;
    }

    public Integer getEducationId() {
        return educationId;
    }

    public UserDetailsGather setEducationId(Integer educationId) {
        this.educationId = educationId;
        return this;
    }

    @Override
    public String toString() {
        return "UserDetailsGather{" +
        "userId=" + userId +
        ", userName=" + userName +
        ", lastTime=" + lastTime +
        ", createTime=" + createTime +
        ", mobile=" + mobile +
        ", email=" + email +
        ", detailsId=" + detailsId +
        ", stutes=" + stutes +
        ", name=" + name +
        ", sex=" + sex +
        ", cardId=" + cardId +
        ", birthTime=" + birthTime +
        ", entryTime=" + entryTime +
        ", organizationId=" + organizationId +
        ", nation=" + nation +
        ", educationId=" + educationId +
        "}";
    }
}